<?php
require_once 'Note.php';
require_once 'FormValidation.php';

class NotesView
{
	// #### UTSKRIFT AV FORMULÄR #### //
	
	// Skriver ut NewNote-formuläret.
    public function NewNoteForm()
    {
        $xhtml = '<div class="slider" id="sliderNotes"><div class="newNoteForm">
                                    <form action="" method="post">
										<label for="notename">Notenamn</label> <br />
                                            <input type="text" name="notename" size="30" maxlength="30" class="inputField" />
                                        <label for="notecontent">Innehåll</label> <br />
											<textarea cols="23" rows="6" name="notecontent" class="inputArea"></textarea><br /><br>
						<input type="submit" name="newNote" class="submitBtn" value="Skapa note" class="submitBtn" />
                                    </form>
                        </div></div>';

        return $xhtml;
    }
	
	// #### UTSKRIFT AV NOTES #### //  
	
	// Skirver ut all notes.
    public function showNotes($NotesArray)
    {
        $xhtml = '<div class="wrapper">';
		
        foreach ($NotesArray as $note)
        {	
            $xhtml .= '<div class="note">
                                <div class="noteHeader">
                                    <h2>' . $note->getNoteName() . '</h2>
                                </div>
                                <div class="noteContent">
                                    <p>'
                                     . $note->getNoteContent() .
                                    '</p>
                               </div>
								<div class="noteFooter">
								<p>'
                                    . $note->getNoteDateTime() .
                                    '</p>
									<form action="" method="post" class="removeNote" name="removeNote">
										<input type="hidden" value="' . $note->getNoteId() . '" name="noteId" />
										<input type="submit" value="Delete" name="removeNote" class="submitBtn" />
									</form>
									<form action="" method="post" class="editNote" name="editNote">
									<input type="submit" value="Edit" name="Edit" class="submitBtn" />
									<input type="hidden" value="' . $note->getNoteId() . '" name="noteId" />
								</form>
								</div>
                           </div>';
        }
        $xhtml .= '<div class="clear"></div>';

        $xhtml .= "</div>";
        
        return $xhtml;
    }
	
	public function showAdminNotes($NotesArray)
	{
		$xhtml = '<div class="wrapper">';
		
        foreach ($NotesArray as $note)
        {	
            $xhtml .= '<div class="note">
                                <div class="noteHeader admin">
                                    <h2>' . $note->getNoteName() . '</h2>
                                </div>
                                <div class="noteContentAdmin">
                                    <p>'
                                     . $note->getNoteContent() .
                                    '</p>
                               </div>
							   <div class="noteFooterAdmin">
							   <br />
							   <p>'
                                    . $note->getNoteDateTime() .
                                    '</p>
							   </div>
                           </div>';
        }
        $xhtml .= '<div class="clear"></div>';
		
        $xhtml .= "</div>";
        
        return $xhtml;
	}

	// Formulär för att redigera en note.	
	public function editNoteForm($note)
	{
		$NotesView = new NotesView();
		$AdminView = new AdminView();
		
		$xhtml = '<div class="wrapper">';
		$xhtml .= '<div class="note">
					<form action="" method="post" name="EditNoteForm">
                                <div class="noteHeader">
									<input type="text" name="notename" size="30" maxlength="30" class="inputField" value="' . $note->getNoteName() . '" />
                                </div>
                                <div class="noteContent">
                                    <p>
                                    	<textarea cols="27" rows="10" name="notecontent" class="inputArea">' . $note->getNoteContent() . '</textarea><br />
                                    </p>
                               </div>
								<div class="noteFooter">
								<p>'
									. $note->getNoteDateTime() .
								'</p>
								<input type="submit" value="Update" name="Update" class="submitBtn" />
									<input type="hidden" value="' . $NotesView->getNoteId() . '" name="noteId" />
								</div>
								</form>
                           </div>
						   <div class="clear"></div>';
		
		$xhtml .= "</div>";
		
		return $xhtml;
	}
	
	// #### ISSET-KONTROLLER #### // 
	
	// Kontrollerar om användaren har försökt att updatera en note.
	public function triedToUpdateNote()
	{
		if (isset($_POST['notename']) && isset($_POST['notecontent']) 
		&& isset($_POST['Update']) && isset($_POST['noteId']))
		{
			return true;
		}
		
		return false;
	}
	
	// Kontrollerar om användaren försökt skapa en ny note.
    public function triedToCreateNewNote()
    {
        if (isset($_POST['newNote']))
        {
            return true;
        }
        
        return false;
    }

	// Kollar ifall användaren har försökt radera en note.
    public function triedToRemoveNote()
    {
        if (isset($_POST['removeNote']))
        {
            return true;
        }

        return false;
    }
	
	// Redigera en note.
	public function triedToEditNote()
	{
		if (isset($_POST['Edit']) && isset($_POST['noteId']))
		{
			return true;
		}
		
		return false;
	}
	
	// Validerar noteName.
    public function validateNoteName()
    {
        if (isset($_POST['notename']) && $_POST['notename'] != "")
        {
            return true;
        }
        return false;
    }

	// Validerar noteContent.
    public function validateNoteContent()
    {
        if (isset($_POST['notecontent']) && $_POST['notecontent'] != "")
        {
            return true;
        }
        return false;
    }
	
	// Hämtar noteId.
	public function getNoteId()
	{
		if(isset($_POST['noteId']))
		{
			return $_POST['noteId'];
		}
		
		return false;
	}
	
	// #### HÄMTNING AV VÄRDEN MED POST #### // 
	
	// Hämtar nytt NoteName och validerar detta.
    public function getNewNoteName()
    {
        $fv = new FormValidation();
        return $fv->isNoteNameValid($_POST['notename']);
	}

	// Hämtar nytt noteContent och validerar detta.
    public function getNewNoteContent()
    {
        $fv = new FormValidation();
        return $fv->isNoteContentValid($_POST['notecontent']);
	}

	// Hämtar tidpunkt för skapande av Note.
    public function getNoteDateTime()
    {
        return date("Y-m-d H:i:s", time());
    }
	
	// Hämtar AnvändarId för att lagras till databasen.
    public function getUserId()
    {
        return $_SESSION['uid'];
    }
	
	// Hämtar användarnamnet från Sessionen.
	public function getSessionUsername()
	{
		if (isset($_SESSION['username']))
		{
			return $_SESSION['username'];
		}
	}
	
	public function getUserInfo()
	{
		$xhtml = '<div class="userInfo" id="userInfo">
		
			User info hamnar här!
		</div>';
		
		return $xhtml;
	}
}